layui.use(['form', 'layer', 'table', 'laytpl'], function () {
    var form = layui.form,
        layer = parent.layer === undefined ? layui.layer : top.layer,
        $ = layui.jquery,
        laytpl = layui.laytpl,
        table = layui.table;

    var xxx = getUrlParam('culture');

    function getUrlParam(name) {
        var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
        var r = window.location.search.substr(1).match(reg);  //匹配目标参数
        if (r != null) return unescape(r[2]); return null; //返回参数值
    }

    var TaskName = '任务名称';
    var TaskDesc = '任务描述';
    var TaskStatus = '任务状态';
    var status1 = '未派发';
    var status2 = '已派发';
    var MsgNoModify = '已派发不能编辑';
    var MsgConfirmDelete = '确定删除此任务';
    var MsgNoDelete = '已派发不能删除任务';
    var MsgConfirmBatchDelete = '确定删除选中的任务?';
    var MsgChooseNeedDelete = '请选择需要删除的任务';
    var SystemPrompt = '提示信息';

    if (xxx == 'vi') {
        TaskName = 'Tên nhiệm vụ';
        TaskDesc = 'Mô tả nhiệm vụ';
        TaskStatus = 'Tình trạng nhiệm vụ';
        status1 = 'Đã không được phân phối';
        status2 = 'Đã được phân phối';
        MsgNoModify = 'Đã được phân bổ, không thể sửa đổi';
        MsgConfirmDelete = 'Xác nhận xóa?';
        MsgNoDelete = 'Đã được phân phối, không thể được xóa';
        MsgConfirmBatchDelete = 'Có chắc là xóa nhiệm vụ đã chọn không?';
        MsgChooseNeedDelete = 'Hãy chọn nhiệm vụ cần xoá';
        SystemPrompt = 'Hệ thống gợi ý';
    }

    if (xxx == 'en') {
        TaskName = 'Task Name';
        TaskDesc = 'Description';
        TaskStatus = 'Task Status';
        status1 = 'Have not been distributed';
        status2 = 'Have been distributed';
        MsgNoModify = 'Already distributed,can not modify';
        MsgConfirmDelete = 'Are you sure to delete?';
        MsgNoDelete = 'Already distributed,can not delete';
        MsgConfirmBatchDelete = 'Có chắc là xóa nhiệm vụ đã chọn không?';
        MsgChooseNeedDelete = 'Hãy chọn nhiệm vụ cần xoá';
        SystemPrompt = 'System Prompt';
        MsgConfirmBatchDelete = 'Are you sure to delete the selected task?';
        MsgChooseNeedDelete = 'Please select the task you want to delete';
        SystemPrompt = 'System Prompt';
    }

    var tableIns = table.render({
        elem: '#taskList',
        url: '/Task/LoadData/',
        cellMinWidth: 95,
        page: true,
        height: "full-125",
        limits: [10, 15, 20, 25],
        limit: 10,
        id: "taskListTable",
        cols: [[
            { type: "checkbox", fixed: "left", width: 50 },
            { field: 'Name', title: TaskName, minWidth: 100, align: "center" },
            { field: 'Description', title: TaskDesc, minWidth: 300, align: "center" },
            {
                field: 'Type', title: TaskStatus, minWidth: 50, align: "center", templet: function (d) {
                    if (d.Type == "0") {
                        return '<span style="color:#008000;">' + status1 + '</span>'
                        //return '<label class="layui-form-label" style = "background-color:red">' + "未派发" + '</label>'
                    } else if (d.Type == "1") {
                        return '<span style="color:#c00;">' + status2 + '</span>'
                        //return '<label class="layui-form-label" style = "background-color:red">' + "已派发" + '</label>'
                    }
                }
            },
            { title: '操作', minWidth: 100, templet: '#taskListBar', fixed: "right", align: "center" }
        ]]
    });

    //搜索【此功能需要后台配合，所以暂时没有动态效果演示】
    $(".search_btn").on("click", function () {
        //if ($(".searchVal").val() !== '') {
        table.reload("taskListTable", {
            page: {
                curr: 1 //重新从第 1 页开始
            },
            where: {
                key: $(".searchVal").val()  //搜索的关键字
            }
        });
    });

    function sendTask(data) {
        var tit = "任务派发";
        if (xxx == 'vi') {
            tit = 'Gửi nhiệm vụ';
        } else if (xxx == 'en') {
            tit = 'Send Task';
        }
        var index = layui.layer.open({
            title: tit,
            type: 2,
            anim: 1,
            area: ['500px', '60%'],
            content: "/Task/SendTask?culture=" + xxx,
            success: function (layero, index) {
                var body = layui.layer.getChildFrame('body', index);
                if (data) {
                    body.find("#Id").val(data.Id);
                    body.find(".Name").val(data.Name);
                    form.render();
                }
            }
        });
    }

    function addTask(edit) {
        var tit = "添加任务";
        if (xxx == 'vi') {
            tit = 'Thêm nhiệm vụ';
        } else if (xxx == 'en') {
            tit = 'Add Task';
        }

        if (edit) {
            tit = "编辑任务";
            if (xxx == 'vi') {
                tit = 'Công việc biên tập';
            } else if (xxx == 'en') {
                tit = 'Edit Task';
            }
        }
        var index = layui.layer.open({
            title: tit,
            type: 2,
            anim: 1,
            area: ['500px', '90%'],
            content: "/Task/AddOrModify?culture=" + xxx,
            success: function (layero, index) {
                var body = layui.layer.getChildFrame('body', index);
                if (edit) {
                    body.find("#Id").val(edit.Id);
                    body.find(".Name").val(edit.Name);
                    body.find(".Description").val(edit.Description);
                    body.find("#expireDate").val(edit.EndDate);
                    form.render();
                }
            }
        });
    }
    $(".addTask_btn").click(function () {
        addTask();
    });

    //批量删除
    $(".delAll_btn").click(function () {
        var checkStatus = table.checkStatus('taskListTable'),
            data = checkStatus.data,
            taskId = [];
        if (data.length > 0) {
            for (var i in data) {
                taskId.push(data[i].Id);
            }
            layer.confirm(MsgConfirmBatchDelete, { icon: 3, title: '提示信息' }, function (index) {
                //获取防伪标记
                del(taskId);
            });
        } else {
            layer.msg(MsgChooseNeedDelete);
        }
    });

    //列表操作
    table.on('tool(taskList)', function (obj) {
        var layEvent = obj.event,
            data = obj.data;

        if (layEvent === 'edit') { //编辑
            if (data.Type == "0")
                addTask(data);
            else
                layer.alert(MsgNoModify);
        } else if (layEvent === 'del') { //删除
            if (data.Type == "0") {
                taskId = [];
                taskId.push(data.Id);
                layer.confirm(MsgConfirmDelete, { icon: 3, title: SystemPrompt }, function (index) {
                    del(taskId);
                });
            } else
                layer.alert(MsgNoDelete);
        } else if (layEvent === 'send') {
            sendTask(data);
            //if (data.Type == "0")
            //    sendTask(data);
            //else
            //    layer.alert("已派发不能再次派发");
        }
    });

    function del(taskId) {
        $.ajax({
            type: 'POST',
            url: '/Task/Delete/',
            data: { taskId: taskId },
            dataType: "json",
            headers: {
                "X-CSRF-TOKEN-Gerald": $("input[name='AntiforgeryKey_Gerald']").val()
            },
            success: function (data) {//res为相应体,function为回调函数
                layer.msg(data.ResultMsg, {
                    time: 2000 //20s后自动关闭
                }, function () {
                    tableIns.reload();
                    layer.close(index);
                });
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                layer.alert('操作失败！！！' + XMLHttpRequest.status + "|" + XMLHttpRequest.readyState + "|" + textStatus, { icon: 5 });
            }
        });
    }
});
